#pragma once

#include "stdafx.h"

#include <vector>

#define PATH_THRESHOLD 25.0
#define MIN_PATH_THRESHOLD 17.0
#define DOT_THRESHOLD 0.0
#define DIST_THRESHOLD 10

class AgentState;

class GridAgent
{
public:
	GridAgent(tank_t* tank);
	~GridAgent(void);

	Command GetCommand();

	tank_t* getTank();
	void setState(AgentState* newState);

private:
	bool getTrack();

	AgentState* currentState;

	int pos;
	bool reverse;

	std::vector<Vector2> currentTrack;
	tank_t* tank;
};

